/*
 * @Description: http状态码-字典
 * @Author: xinqiao lxq1990.0716@qq.com
 * @Date: 2024-04-11
 * @LastEditors: xinqiao lxq1990.0716@qq.com
 * @LastEditTime: 2024-04-24
 */

/** http状态码-字典 */
export enum HttpCodeEnum {
  /** 操作成功 */
  SUCCESS = 100000000,
  /** 参数校验错误 */
  ERROR_PARAM_VALID = 100200000,
  /** 格式校验错误 */
  ERROR_PORMAT_VALID = 100201000,
  /** 必填项为空 */
  ERROR_REQUIRED_VALID = 100202000,
  /** token过期 */
  ERROR_TOKEN_INVALID = 100300002,
  /** 账号在其他地方登录 */
  ERROR_OTHER_LOGIN = 100300003,
  /** 需要登录访问 */
  ERROR_NO_LOGIN = 100301000,
  /** 未绑定手机号 */
  ERROR_NO_AUTHPHONE = 100301001,
  /** 账号不存在 */
  ACCOUNT_NO_EXIST = 100400001,
  /** 系统错误 */
  ERROR_SYSTEM = 100500000,
  /** 响应超时 */
  ERROR_TIMEOUT = 100600000,
}

/* 重新登陆状态码 */
export const ReloginList = [HttpCodeEnum.ERROR_TOKEN_INVALID, HttpCodeEnum.ERROR_NO_LOGIN, HttpCodeEnum.ERROR_OTHER_LOGIN]

/*
模块分类  code码  提示信息
全局成功(000)	100000000	操作成功
流控(100)	100100000	流控
限流(101)	100101000 限流错误
    100101001 接口qps超限
		100101002 响应时间过长
		100101003	接口访问过于频繁
		100101004	今日访问已超限
		100101005	本周访问已超限
		100101006	本月访问已超限
		100101007	本年访问已超限
一致性控制(102)	100102000 一致性控制
		100102001 正在处理中
服务降级(103)	100103000	服务降级
参数校验(200)	100200000 参数校验错误
格式校验(201)	100201000 格式校验错误
		100201001	手机号格式错误
		100201002	身份证格式错误
		100201003	密码强度不符合要求
		100201004	密码二次输入不一致
		100201005	邮箱格式错误
		100201006	页码范围过大
		100201007	文件格式不支持
必填校验(202)	100202000	必填项为空
		100202001	手机号不能为空
		100202002	证件类型不能为空
		100202003	身份证号不能为空
		100202004	密码不能为空
		100202005	邮箱不能为空
		100202006	姓名不能为空
		100202007	机构名称不能为空
		100202008	性别不能为空
		100202009	学历不能为空
		100202010	民族不能为空
		100202011	证件类型不能为空
		100202012	职称不能为空
		100202013	诊疗科目不能为空
		100202014	执业类别不能为空
		100202015	执业状态不能为空
		100202016	医师级别不能为空
		100202017	医师类型不能为空
		100202018	区域不能为空
		100202019	机构性质不能为空
		100202020	机构类别不能为空
		100202021	机构级别不能为空
		100202022	专业不能为空
		100202023	行政职务不能为空
		100202024	学协会任职不能为空
		100202025	学术称号不能为空
		100202026	标准科室不能为空
		100202027	疾病不能为空
		100202028	手术及操作不能为空
参数长度校验(203)	100203000	参数长度不符合要求
业务数据校验(250)	100250000	业务数据校验错误
		100250001	手机号已存在
		100250002	身份证号已存在
		100250003	邮箱已存在
		100250004	不在允许操作时间
		100250005	验证码发送今日已达最大次数
		100250006	验证码发送过于频繁
		100250007	验证码发送失败
		100250008	验证码失效，请重新发送
		100250009	验证码不正确
		100250010	手机号已被绑定
		100250011	文件上传失败
字典数据校验(251)	100251000	字典值不存在
		100251001	性别不存在
		100251002	学历不存在
		100251003	民族不存在
		100251004	证件类型不存在
		100251005	职称不存在
		100251006	诊疗科目不存在
		100251007	执业类别不存在
		100251008	执业状态不存在
		100251009	医师级别不存在
		100251010	医师类型不存在
		100251011	区域不存在
		100251012	机构性质不存在
		100251013	机构类别不存在
		100251014	机构级别不存在
		100251015	专业不存在
		100251016	业务标签字典不存在
		100251017	自定义标签字典不存在
		100251018	组合标签字典不存在
		100251019	画像标签字典不存在
		100251020	业务标签字典-认证不存在
		100251021	业务标签字典-圈子不存在
		100251022	业务标签字典-机构不存在
		100251023	业务标签字典-订阅机构不存在
		100251024	行政职务不存在
		100251025	学协会任职不存在
		100251026	学术称号不存在
		100251027	标准科室不存在
		100251028	疾病（ICD-10）不存在
		100251029	手术及操作（ICD9-CM3）不存在
权限问题(300)	100300000	权限问题	权限问题
登录验证(301)	100301000	需要登录访问	需要登录访问
访问禁止(302)	100302000	访问被禁止	访问被禁止
		100302001	ip黑名单	ip黑名单
		100302002	无访问权限	无访问权限
		100302003	访问被冻结	访问被冻结
		100302004	余额不足	余额不足
		100302005	未购买资源	未购买资源
		100302006	未预约	未预约
资源不存在(400)	100400000	资源不存在	资源不存在
资源删除(401)	100401000	资源被删除	资源被删除
系统错误(500)	100500000	系统错误	服务错误
数据异常(501)
		100501001	数据更新异常	数据更新异常
		100501002	数据获取异常	数据获取异常
		100501003	数据插入异常	数据插入异常
运行时异常(502)
响应超时(600)	100600000	响应超时	响应超时
积分接口调用（101）	110101099	baas接口调用失败
*/

/** 请求超时 */
export const TimeOutList = ['request:fail timeout', 'request:fail fail:time out', 'request:fail -118:net::ERR_CONNECTION_TIMED_OUT']

/** 请求头-字典 */
export enum HeaderEnum {
  /** 请求内容json */
  CONTENT_TYPE = 'application/json;charset=UTF-8',
  /** 表单提交-数据提交 */
  FORM_URLENCODED = 'application/x-www-form-urlencoded;charset=UTF-8',
  /** 表单提交-文件上传 */
  FORM_DATA = 'multipart/form-data;charset=UTF-8',
}

/** 请求类型-字典 */
export enum MethodEnum {
  /** get请求 */
  GET = 'GET',
  /** post请求 */
  POST = 'POST',
  /** put请求 */
  PUT = 'PUT',
  /** delete请求 */
  DELETE = 'DELETE',
}

/** 请求超时：10s */
export const Timeout = 10 * 1000
